home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / MATHS / RLAB / RLAB125.ZIP / !RLaB / rlib / tril < prev    next >
Text File  |  1994-09-23  |  812b  |  41 lines

  1. //-------------------------------------------------------------------//
  2.  
  3. //  Syntax:    tril ( A )
  4. //        tril ( A , K )
  5.  
  6. //  Description:
  7.  
  8. //  tril(x) returns the lower triangular part of A.
  9.  
  10. //  tril(A,K) returns the elements on and below the K-th diagonal of
  11. //  A.
  12.  
  13. //  K = 0: main diagonal
  14. //  K > 0: above the main diag.
  15. //  K < 0: below the main diag.
  16.  
  17. //  See Also: triu
  18. //-------------------------------------------------------------------//
  19.  
  20. tril = function(x, k) 
  21. {
  22.   if (!exist (k)) { k = 0; }
  23.   nr = x.nr; nc = x.nc;
  24.   if(k > 0) 
  25.   { 
  26.     if (k > (nc - 1)) { error ("tril: invalid value for k"); }
  27.   else
  28.     if (abs (k) > (nr - 1)) { error ("tril: invalid value for k"); }
  29.   }
  30.  
  31.   y = zeros(nr, nc);
  32.  
  33.   for(i in max( [1,1-k] ):nr) 
  34.   {
  35.     j = 1:min( [nc, i+k] );
  36.     y[i;j] = x[i;j];
  37.   }
  38.  
  39.   return y;
  40. };
  41.